#include "kernel/vkey.h"

Boolean IsKeyArrow(int k){
    VirtualKey key = (VirtualKey)k;
    if(key==Key_Up || key==Key_Down
            || key==Key_Left || key==Key_Right){
        return True;
    }
    return False;
}

Boolean IsKeyF(int k){
    VirtualKey key = (VirtualKey)k;
    if(key==Key_F1 || key==Key_F2
            || key==Key_F3 || key==Key_F4
            || key==Key_F5 || key==Key_F6
            || key==Key_F7 || key==Key_F8
            || key==Key_F9 || key==Key_F10
            || key==Key_F11 || key==Key_F12){
        return True;
    }
    return False;
}

Boolean IsKeyControllers(int k){
    VirtualKey key = (VirtualKey)k;
    if(key==Key_Alt || key==Key_Shift || key==Key_CapsLock){
        return True;
    }
    return False;
}

Boolean IsKeyControl(int k){
    VirtualKey key = (VirtualKey)k;
    if(key==Key_Control){
        return True;
    }

    return False;
}

Boolean IsKeyDelete(int k){
    VirtualKey key = (VirtualKey)k;
    if(key==Key_Delete){
        return True;
    }

    return False;
}

Boolean IsKeyReturn(int k){
    VirtualKey key = (VirtualKey)k;
    if(key==Key_Return){
        return True;
    }

    return False;
}

Boolean IsKeyBackspace(int k){
    VirtualKey key = (VirtualKey)k;
    if(key==Key_Backspace){
        return True;
    }

    return False;
}

Boolean IsKeyControlModifiers(int k){
    VirtualKey key = (VirtualKey)k;
    if(key==Key_Control_Modifier){
        return True;
    }

    return False;
}

Boolean IsKeyPageUp(int k){
    VirtualKey key = (VirtualKey)k;
    if(key==Key_PageUp){
        return True;
    }

    return False;
}

Boolean IsKeyPageDown(int k){
    VirtualKey key = (VirtualKey)k;
    if(key==Key_PageDown){
        return True;
    }

    return False;
}

Boolean IsKeyHome(int k){
    VirtualKey key = (VirtualKey)k;
    if(key==Key_Home){
        return True;
    }

    return False;
}

Boolean IsKeyEnd(int k){
    VirtualKey key = (VirtualKey)k;
    if(key==Key_End){
        return True;
    }

    return False;
}

Boolean isKeySwitchTty(int k, int modify){
    VirtualKey modifier = (VirtualKey)modify;
    if(modifier!=Key_Control_Modifier){
        return False;
    }
    VirtualKey key = (VirtualKey)k;
    if(key==Key_F1 || key==Key_F2 ||
            key==Key_F3 || key==Key_F4 ||
            key==Key_F5 || key==Key_F6 ||
            key==Key_F7 || key==Key_F8){
        return True;
    }

    return False;
}
